package com.bookocean.infrastructure.persistence.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 通用评论PO类
 *
 * @author BookOcean
 * @since 2024-01-01
 */
@Data
@TableName("comment_po")
public class BookCommentPO {

    /**
     * 评论ID
     */
    @TableId(value = "comment_id", type = IdType.AUTO)
    private Long commentId;

    /**
     * 评论内容
     */
    @TableField("content")
    private String content;

    /**
     * 目标类型（1：书摘，2：小说，3：章节）
     */
    @TableField("target_type")
    private Integer targetType;

    /**
     * 目标ID（书摘ID/小说ID/章节ID）
     */
    @TableField("target_id")
    private Long targetId;

    /**
     * 评论者ID
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 父评论ID（为空=评论目标，有值=回复评论）
     */
    @TableField("parent_id")
    private Long parentId;

    /**
     * 点赞数
     */
    @TableField("like_count")
    private Integer likeCount;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;
}
